Skip to content

feat(bench): v2 republish — post-SQLR-23 pinned-host run + headline update (SQLR-25)#114

Merged
joaoh82 merged 1 commit into
mainfrom
sqlr-25-bench-v2-republish
May 8, 2026
Merged

feat(bench): v2 republish — post-SQLR-23 pinned-host run + headline update (SQLR-25)#114
joaoh82 merged 1 commit into
mainfrom
sqlr-25-bench-v2-republish

Conversation

@joaoh82

@joaoh82 joaoh82 commented May 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Republishes the full 12-workload bench suite (SQLRite + SQLite + DuckDB on Group B) on the canonical Apple M1 Pro / macOS 23.5.0 pinned host now that SQLR-23 (parser plan cache + bound ? params + Value::Vector) and SQLR-28 (HNSW cosine/dot probe) have landed. Every workload's WorkloadId.version was bumped v1 → v2 in lockstep (W10 → v3); v1 numbers are retained as historical so the methodology shift is captured.
  • Headline: W10 HNSW dropped 126.81 ms → 2.40 ms (~53× faster), with brute-force-vs-HNSW gap now ~50× at 10k corpus (was ~1.1× under the L2-only probe + parser tax). Other parser-tax-dominated paths tightened: W1 read-by-PK ~2.5×, W6 secondary-index ~2.6×, W3 bulk insert ~1.7×, W11 BM25 top-10 ~2.2× faster than v1. Compute-bound paths (W4/W5/W7/W8/W9) moved a few percent — parser cost was a small slice of total time there.

Files

  • benchmarks/results/2026-05-08-apple-ac84d560.json — canonical v2 envelope, 35 samples (Group A SQLRite+SQLite + Group B SQLRite+SQLite+DuckDB + Group C SQLRite-only).
  • docs/benchmarks.md — Headline numbers now reflect v2; v1 retained in a "Historical (v1, retired)" subsection. Parser-tax sidebar updated to point at the new run.
  • benchmarks/README.md — adds W10.v3 result block alongside the retired v1 table; status banner bumped to 2026-05-08.

Methodology note

target/criterion/ retained stale W*.v1 directories from prior runs; the aggregator scrapes everything in that tree, so the first attempt produced a polluted envelope with v1 numbers copied through. Killed, removed the stale W*.v1* dirs, rebuilt clean. Worth hardening in scripts/run.sh later (out of scope here — filed in the project journal).

Test plan

  • cargo fmt --all -- --check
  • cargo build --workspace --exclude sqlrite-desktop --exclude sqlrite-python --exclude sqlrite-nodejs --exclude sqlrite-benchmarks --all-targets
  • cargo test --workspace --exclude sqlrite-desktop --exclude sqlrite-python --exclude sqlrite-nodejs --exclude sqlrite-benchmarks (all suites + doctests pass)
  • make bench-duckdb produced the canonical envelope on the pinned host (Apple M1 Pro / macos / aarch64, run started 2026-05-08T15:41:43Z, 35 samples)
  • benchmarks/scripts/compare.py v1 v2 Q8-flags the cross-version pairs (W*.v1 vs W*.v2/v3) in the "Only on one side" section as designed

🤖 Generated with Claude Code

…pdate (SQLR-25)

Reruns the full 12-workload suite (SQLRite + SQLite + DuckDB on Group B)
on the canonical Apple M1 Pro / macOS 23.5.0 host after SQLR-23 (parser
plan cache + bound `?` params + `Value::Vector`) bumped every workload
from `v1 → v2` and SQLR-28 took W10 → `v3`. The v1 numbers in
`docs/benchmarks.md` were dominated by per-iter SQL parsing on the bench
driver's SQLRite path; v2 measures the post-binding reality.

Headline: **W10 HNSW: 126.81 ms → 2.40 ms (~53× faster)**, with
brute-force-vs-HNSW gap now ~50× at 10k corpus (was ~1.1× in v1, masked
by parser tax + L2-only probe). Other parser-tax-dominated paths
tightened: W1 read-by-PK ~2.5×, W6 secondary-index ~2.6×, W3 bulk insert
~1.7×, W11 BM25 top-10 ~2.2× faster than v1. Compute-bound paths (W4
single-row insert, W5 mixed OLTP, W7 SUM, W8 GROUP BY) moved a few
percent — parser cost was a small slice of total time there.

Changes:
- `benchmarks/results/2026-05-08-apple-ac84d560.json` — canonical v2
  envelope, 35 samples (Group A SQLRite+SQLite + Group B
  SQLRite+SQLite+DuckDB + Group C SQLRite-only).
- `docs/benchmarks.md` — Headline numbers now reflect v2; v1 retained
  in a "Historical (v1, retired)" section so the methodology shift is
  visible. "Parser tax" sidebar updated to point at the new run.
- `benchmarks/README.md` — adds W10.v3 result table (the v1 retired
  table stays alongside) + status banner bumped to 2026-05-08.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@joaoh82 joaoh82 merged commit 3e16c69 into main May 8, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant